library(ggplot2)
  library(reshape2)
  library(dplyr)
  library(tidyr)
  library(GGally)
  library(grid)
    "%&%" = function(a,b) paste(a,b,sep="")
  my.dir <- '/Volumes/im-lab/nas40t2/hwheeler/cross-tissue/'
  out.dir <- '~/GitHub/GenArch/GenArchPaper/OTD_enrichment/'

Pull h2 estimate CI>0 genes for each tissue & rm .\d+ from ensid

for(tistype in c("Tissue-Specific","Tissue-Wide")){
  tsfile <- my.dir %&% 'GTEx_' %&% tistype %&% '_local_h2_se_geneinfo_no_description.txt'
  ts <- read.table(tsfile,sep='\t',header=T)
  tislist <- scan(my.dir %&% 'GTEx_nine_tissues','c')
  tislist <- gsub("-","",tislist)
  tislist <- c("CrossTissue",tislist)
  h2tislist <- "h2." %&% tislist
  setislist <- "se." %&% tislist
  geneinfo <- ts[,1:3]
  for(i in seq_along(tislist)){
    h2tis <- h2tislist[i]
    setis <- setislist[i]
    data <- ts %>% select(AssociatedGeneName, EnsemblGeneID, matches(h2tis), matches(setis)) %>% mutate(ensid=substr(EnsemblGeneID,1,15))
    cidata <- data[data[,3]-data[,4]*2>0,] ##pull genes with non-zero confidence intervals
    print(tislist[i] %&% " " %&% tistype %&% ": " %&% dim(cidata)[1] %&% " non-zero h2 CI genes")
    write.table(cidata, file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_non-zeroCIgenes_info.txt",quote=FALSE,row.names = FALSE)
    write.table(cidata[,5], file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_non-zeroCIgenes_ensid_list.txt",quote=FALSE,row.names = FALSE, col.names = FALSE)
    write.table(cidata[,1], file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_non-zeroCIgenes_gene_list.txt",quote=FALSE,row.names = FALSE, col.names = FALSE)
    
    for(thresh in c(0,0.01,0.05,0.1)){
      h2data <- data[data[,3]>thresh,] ##pull genes with h2 > thresh
    print(tislist[i] %&% " " %&% tistype %&% ": " %&% dim(h2data)[1] %&% " h2 > " %&% thresh %&% " genes")
    write.table(h2data, file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_h2_" %&% thresh %&% "genes_info.txt",quote=FALSE,row.names = FALSE)
    write.table(h2data[,5], file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_h2_" %&% thresh %&% "genes_ensid_list.txt",quote=FALSE,row.names = FALSE, col.names = FALSE)
    write.table(h2data[,1], file=out.dir %&% tislist[i] %&% "_" %&% tistype %&% "_h2_" %&% thresh %&% "genes_gene_list.txt",quote=FALSE,row.names = FALSE, col.names = FALSE)
    } 
  }
}
## [1] "CrossTissue Tissue-Specific: 2938 non-zero h2 CI genes"
## [1] "CrossTissue Tissue-Specific: 17007 h2 > 0 genes"
## [1] "CrossTissue Tissue-Specific: 10282 h2 > 0.01 genes"
## [1] "CrossTissue Tissue-Specific: 5042 h2 > 0.05 genes"
## [1] "CrossTissue Tissue-Specific: 2715 h2 > 0.1 genes"
## [1] "AdiposeSubcutaneous Tissue-Specific: 207 non-zero h2 CI genes"
## [1] "AdiposeSubcutaneous Tissue-Specific: 17007 h2 > 0 genes"
## [1] "AdiposeSubcutaneous Tissue-Specific: 6908 h2 > 0.01 genes"
## [1] "AdiposeSubcutaneous Tissue-Specific: 2463 h2 > 0.05 genes"
## [1] "AdiposeSubcutaneous Tissue-Specific: 650 h2 > 0.1 genes"
## [1] "ArteryTibial Tissue-Specific: 306 non-zero h2 CI genes"
## [1] "ArteryTibial Tissue-Specific: 17007 h2 > 0 genes"
## [1] "ArteryTibial Tissue-Specific: 7779 h2 > 0.01 genes"
## [1] "ArteryTibial Tissue-Specific: 3126 h2 > 0.05 genes"
## [1] "ArteryTibial Tissue-Specific: 892 h2 > 0.1 genes"
## [1] "HeartLeftVentricle Tissue-Specific: 298 non-zero h2 CI genes"
## [1] "HeartLeftVentricle Tissue-Specific: 17007 h2 > 0 genes"
## [1] "HeartLeftVentricle Tissue-Specific: 7796 h2 > 0.01 genes"
## [1] "HeartLeftVentricle Tissue-Specific: 4012 h2 > 0.05 genes"
## [1] "HeartLeftVentricle Tissue-Specific: 1614 h2 > 0.1 genes"
## [1] "Lung Tissue-Specific: 223 non-zero h2 CI genes"
## [1] "Lung Tissue-Specific: 17007 h2 > 0 genes"
## [1] "Lung Tissue-Specific: 7143 h2 > 0.01 genes"
## [1] "Lung Tissue-Specific: 2738 h2 > 0.05 genes"
## [1] "Lung Tissue-Specific: 797 h2 > 0.1 genes"
## [1] "MuscleSkeletal Tissue-Specific: 434 non-zero h2 CI genes"
## [1] "MuscleSkeletal Tissue-Specific: 17007 h2 > 0 genes"
## [1] "MuscleSkeletal Tissue-Specific: 7371 h2 > 0.01 genes"
## [1] "MuscleSkeletal Tissue-Specific: 2356 h2 > 0.05 genes"
## [1] "MuscleSkeletal Tissue-Specific: 622 h2 > 0.1 genes"
## [1] "NerveTibial Tissue-Specific: 379 non-zero h2 CI genes"
## [1] "NerveTibial Tissue-Specific: 17006 h2 > 0 genes"
## [1] "NerveTibial Tissue-Specific: 7797 h2 > 0.01 genes"
## [1] "NerveTibial Tissue-Specific: 3491 h2 > 0.05 genes"
## [1] "NerveTibial Tissue-Specific: 1216 h2 > 0.1 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Specific: 449 non-zero h2 CI genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Specific: 17007 h2 > 0 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Specific: 8604 h2 > 0.01 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Specific: 3589 h2 > 0.05 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Specific: 1097 h2 > 0.1 genes"
## [1] "Thyroid Tissue-Specific: 442 non-zero h2 CI genes"
## [1] "Thyroid Tissue-Specific: 17007 h2 > 0 genes"
## [1] "Thyroid Tissue-Specific: 7757 h2 > 0.01 genes"
## [1] "Thyroid Tissue-Specific: 3141 h2 > 0.05 genes"
## [1] "Thyroid Tissue-Specific: 1010 h2 > 0.1 genes"
## [1] "WholeBlood Tissue-Specific: 490 non-zero h2 CI genes"
## [1] "WholeBlood Tissue-Specific: 17007 h2 > 0 genes"
## [1] "WholeBlood Tissue-Specific: 8504 h2 > 0.01 genes"
## [1] "WholeBlood Tissue-Specific: 2918 h2 > 0.05 genes"
## [1] "WholeBlood Tissue-Specific: 819 h2 > 0.1 genes"
## [1] "CrossTissue Tissue-Wide: 2938 non-zero h2 CI genes"
## [1] "CrossTissue Tissue-Wide: 17007 h2 > 0 genes"
## [1] "CrossTissue Tissue-Wide: 10282 h2 > 0.01 genes"
## [1] "CrossTissue Tissue-Wide: 5042 h2 > 0.05 genes"
## [1] "CrossTissue Tissue-Wide: 2715 h2 > 0.1 genes"
## [1] "AdiposeSubcutaneous Tissue-Wide: 1127 non-zero h2 CI genes"
## [1] "AdiposeSubcutaneous Tissue-Wide: 17007 h2 > 0 genes"
## [1] "AdiposeSubcutaneous Tissue-Wide: 6236 h2 > 0.01 genes"
## [1] "AdiposeSubcutaneous Tissue-Wide: 3407 h2 > 0.05 genes"
## [1] "AdiposeSubcutaneous Tissue-Wide: 1736 h2 > 0.1 genes"
## [1] "ArteryTibial Tissue-Wide: 1171 non-zero h2 CI genes"
## [1] "ArteryTibial Tissue-Wide: 17007 h2 > 0 genes"
## [1] "ArteryTibial Tissue-Wide: 6314 h2 > 0.01 genes"
## [1] "ArteryTibial Tissue-Wide: 3546 h2 > 0.05 genes"
## [1] "ArteryTibial Tissue-Wide: 1889 h2 > 0.1 genes"
## [1] "HeartLeftVentricle Tissue-Wide: 749 non-zero h2 CI genes"
## [1] "HeartLeftVentricle Tissue-Wide: 17007 h2 > 0 genes"
## [1] "HeartLeftVentricle Tissue-Wide: 6352 h2 > 0.01 genes"
## [1] "HeartLeftVentricle Tissue-Wide: 3865 h2 > 0.05 genes"
## [1] "HeartLeftVentricle Tissue-Wide: 2179 h2 > 0.1 genes"
## [1] "Lung Tissue-Wide: 929 non-zero h2 CI genes"
## [1] "Lung Tissue-Wide: 17007 h2 > 0 genes"
## [1] "Lung Tissue-Wide: 6331 h2 > 0.01 genes"
## [1] "Lung Tissue-Wide: 3387 h2 > 0.05 genes"
## [1] "Lung Tissue-Wide: 1693 h2 > 0.1 genes"
## [1] "MuscleSkeletal Tissue-Wide: 1063 non-zero h2 CI genes"
## [1] "MuscleSkeletal Tissue-Wide: 17007 h2 > 0 genes"
## [1] "MuscleSkeletal Tissue-Wide: 6049 h2 > 0.01 genes"
## [1] "MuscleSkeletal Tissue-Wide: 2814 h2 > 0.05 genes"
## [1] "MuscleSkeletal Tissue-Wide: 1331 h2 > 0.1 genes"
## [1] "NerveTibial Tissue-Wide: 1466 non-zero h2 CI genes"
## [1] "NerveTibial Tissue-Wide: 17006 h2 > 0 genes"
## [1] "NerveTibial Tissue-Wide: 6594 h2 > 0.01 genes"
## [1] "NerveTibial Tissue-Wide: 4057 h2 > 0.05 genes"
## [1] "NerveTibial Tissue-Wide: 2399 h2 > 0.1 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Wide: 1198 non-zero h2 CI genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Wide: 17007 h2 > 0 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Wide: 6504 h2 > 0.01 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Wide: 3530 h2 > 0.05 genes"
## [1] "SkinSunExposed(Lowerleg) Tissue-Wide: 1809 h2 > 0.1 genes"
## [1] "Thyroid Tissue-Wide: 1327 non-zero h2 CI genes"
## [1] "Thyroid Tissue-Wide: 17006 h2 > 0 genes"
## [1] "Thyroid Tissue-Wide: 6590 h2 > 0.01 genes"
## [1] "Thyroid Tissue-Wide: 3758 h2 > 0.05 genes"
## [1] "Thyroid Tissue-Wide: 2082 h2 > 0.1 genes"
## [1] "WholeBlood Tissue-Wide: 945 non-zero h2 CI genes"
## [1] "WholeBlood Tissue-Wide: 17007 h2 > 0 genes"
## [1] "WholeBlood Tissue-Wide: 5426 h2 > 0.01 genes"
## [1] "WholeBlood Tissue-Wide: 2586 h2 > 0.05 genes"
## [1] "WholeBlood Tissue-Wide: 1261 h2 > 0.1 genes"
write(data$ensid, file=out.dir %&% "full_tested_ensid_list.txt",ncolumns=1)

Define known genes for 7 WTCCC diseases based on the GWAS catalog and make list of ALL genes in catalog

  #catalog used:
  gwasfile <- my.dir %&% 'gwas_catalog_v1.0-downloaded_2015-06-02.tsv'
#  gwas <- data.frame(read.table(gwasfile,header=TRUE,sep='\t',quote="",comment.char="",as.is=TRUE)) #for reference
for(pthresh in c(5e-08,1e-05)){
  runPERL <- "perl " %&% my.dir %&% "24_define_disease_genes.pl " %&% gwasfile %&% " " %&% pthresh
  system(runPERL)
}

Disease gene enrichment in top h2 genes by tissue

lci<-function(x) quantile(x, c(.025, 0.975),na.rm=T)[[1]]
uci<-function(x) quantile(x, c(.025, 0.975),na.rm=T)[[2]]
##is testvec signficanty enriched for setvec? make n samples of size(testvec) from fullvec and count overlap
enrichment <- function(setvec, testvec, fullvec, nperms = 1000){
  obs <- length(testvec[testvec %in% setvec])
  counts <- vector()
  for(i in 1:nperms){
    rantest <- base::sample(fullvec,length(testvec),replace=FALSE)
    cnt <- length(rantest[rantest %in% setvec])
    counts <- c(counts,cnt)
  }
  empp <- mean(counts>obs)
  meanc <- mean(counts)
  lc <- lci(counts)
  uc <- uci(counts)
  return(c(obs,meanc,lc,uc,empp))
}


  
set.seed(42)
fullgenelist <- as.character(ts$AssociatedGeneName)

dislist <- c("BD","CAD","HT","T1D","T2D","CD","RA","ALL")
tislist <- scan(my.dir %&% 'GTEx_nine_tissues','c')
tislist <- gsub("-","",tislist)
tislist <- c("CrossTissue",tislist)
nperms <- 10000 

for(gwasthresh in c(5e-08,1e-05)){
  for(thresh in c("non-zeroCI","h2_0.1","h2_0.05","h2_0.01")){
    results <- data.frame(type=character(0),dis=character(0),tis=character(0),obsOverlap=double(0),meanOverlap=double(0),lCI=double(0),uCI=double(0),empPval=double(0))
    for(tistype in c("Tissue-Specific","Tissue-Wide")){
      for(i in seq_along(dislist)){
        dis <- dislist[i]
        disgenes <- scan(out.dir %&% "gwas." %&% dis %&% "." %&% gwasthresh %&% ".tsv","character")
        for(j in seq_along(tislist)){
          tis <- tislist[j]
          tisgenes <- scan(out.dir %&% tis %&% '_' %&% tistype %&% '_' %&% thresh %&% 'genes_gene_list.txt','character')
          res <- enrichment(disgenes,tisgenes,fullgenelist,nperms=nperms)
          resvec <- data.frame(type=tistype,dis=dis,tis=tis,obsOverlap=res[1],meanOverlap=res[2],lCI=res[3],uCI=res[4],empPval=res[5])
          results <- rbind(results,resvec)
        }
      }
    }
    sortres <- arrange(results,empPval)
    write.table(sortres,file=out.dir %&% "GWAS_catalog_disease_gene" %&% gwasthresh %&%  "_enrichment_in_" %&% thresh %&% "_genes_by_tissue_" %&% nperms %&% "perms.txt",row.names=FALSE,quote=FALSE)
    print("GWAS catalog disease gene enrichment in " %&% thresh %&% " genes by tissue " %&% nperms %&% " perms:")
    print(head(sortres,n=20L))
  }
}

distribution of h2 for disease vs non disease

dislist <- c("BD","CAD","HT","T1D","T2D","CD","RA","ALL")
tislist <- c("CrossTissue","AdiposeSubcutaneous","ArteryTibial","HeartLeftVentricle","Lung","MuscleSkeletal","NerveTibial","SkinSunExposed(Lowerleg)","Thyroid","WholeBlood")
typelist<-c("Tissue-Specific","Tissue-Wide")

#pdf(file="OTD_h2_plots.pdf")
for(thresh in c(0.1,0)){
  for(tistype in typelist){
    for(tis in tislist){
      for(gwasthresh in c(5e-08,1e-05)){
        info <- read.table(out.dir %&% tis %&% '_' %&% tistype %&% '_h2_' %&% thresh %&% 'genes_info.txt',header=T)
        finaldf <- data.frame(AssociatedGeneName=character(0),EnsemblGeneID=character(0),h2=double(0),se=double(0),ensid=character(0),diseaseGene=logical(0L),disease=character(0))
        for(dis in dislist){
          setvec <- scan(out.dir %&% "gwas." %&% dis %&% "." %&% gwasthresh %&% ".tsv","character")
          disinfo <- info %>% mutate(diseaseGene=(info[,1] %in% setvec),disease=dis)
          colnames(disinfo) <- c("AssociatedGeneName","EnsemblGeneID","h2","se","ensid","diseaseGene","disease")
          finaldf <- rbind(finaldf,disinfo)
        }
        p<-ggplot(finaldf,aes(x=finaldf[,3],fill=diseaseGene,color=diseaseGene)) + facet_wrap(~disease,ncol=2) + geom_density(alpha=0.3) + xlab("h2") + ggtitle(tistype %&% ' ' %&% tis %&% '\nh2 > ' %&% thresh %&% '; ' %&% 'GWAS P < ' %&% gwasthresh)
        print(p)
        p<-ggplot(finaldf,aes(y=finaldf[,3],x=diseaseGene)) + facet_wrap(~disease,ncol=4) + geom_jitter(aes(colour=diseaseGene),alpha=0.3,position = position_jitter(width = .15)) + geom_boxplot(alpha=0,outlier.size=NA) + xlab("diseaseGene") + ylab("h2") + ggtitle(tistype %&% ' ' %&% tis %&% '\nh2 > ' %&% thresh %&% '; ' %&% 'GWAS P < ' %&% gwasthresh) +theme_bw() + theme(legend.position="none") 
        print(p)
      }
    }
  }
}

#dev.off()